#ifndef LUA_ENTITYHOOKS_H
#define LUA_ENTITYHOOKS_H

#include <stdexcept>
#include <map>

#include "fontmaterial.h"
#include "lua_util.h"
#include "gameinterface.h"
#include "draw.h"
#include "entity.h"
#include "npclogic.h"

int LUAENTITY_GetPos( lua_State * );
int LUAENTITY_SetPos( lua_State * );
int LUAENTITY_SetCurrentSprite( lua_State * );
int LUAENTITY_SetCurrentSpriteBind( lua_State * );
int LUAENTITY_Flip( lua_State * );
int LUAENTITY_GenHit( lua_State * );
int LUAENTITY_GetTable( lua_State * );
int LUAENTITY_GetCenterPos( lua_State * );
int LUAENTITY_GetSize( lua_State * );
int LUAENTITY_SetAnimating( lua_State * );
int LUAENTITY_IsValid( lua_State * );
int LUAENTITY_SetConstantVel( lua_State * );
int LUAENTITY_IsFlipped( lua_State * );
int LUAENTITY_New( lua_State * );
int LUAENTITY_AddSprite( lua_State * );
int LUAENTITY_AddShadow( lua_State * );
int LUAENTITY_SetHasShadow( lua_State * );
int LUAENTITY_AddCollisionBox( lua_State * );
int LUAENTITY_Scale( lua_State * );
int LUAENTITY_GiveNPCLogic( lua_State * );
int LUAENTITY_RegisterCallback( lua_State * );
int LUAENTITY_SetDoLogic( lua_State * );
int LUAENTITY_Remove( lua_State * );
int LUAENTITY_BindSprite( lua_State * );
int LUAENTITY_IdleAnim( lua_State * );
int LUAENTITY_RunAnim( lua_State * );

#endif
